// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "SQLObjectImpl.h"
#include "../../utils/common_ptr.h"

class SQLArgument
    : virtual public SQLObjectImpl
{
public:
  SQLParameter_ParameterType_ptr type;
  SQLExpr_ptr expr;

  SHAREDOBJECT(SQLArgument)   ;
  // @Override
  void accept0(SQLASTVisitor_ptr visitor);

  SQLObject_ptr clone();

  SQLParameter_ParameterType_ptr getType();

  SQLExpr_ptr getExpr();

  void setType(SQLParameter_ParameterType_ptr type);

  void setExpr(SQLExpr_ptr x);
};
